The present invention relates to a router that connects communication networks and to transfer frames, and also to a frame transfer method used in the router.
Routers, which are used for connecting different local area networks (LANs), transfer datagrams from one LAN to another LAN. A datagram includes not only communication information to be transferred, but also communication network addresses (which are the Internet Protocol (IP) addresses if communications are made by the IP), such as a source address and a final destination address. By using the address information, the router determines its network interface through which the datagram is to be output and a next-hop node (a router or a host) to which the datagram is to be transferred.
In a typical conventional router, upon receiving from a LAN a datalink layer frame (for example, a Media Access Control (MAC) frame or an Asynchronous Transfer Mode (ATM) cell) defined by a datalink layer (for example, the MAC layer or the ATM layer), datalink layer processing is performed on the received frame, and then, the frame is converted into a packet (datagram) that can be handled in the network layer. Subsequently, the router determines, based on the network layer address of the final destination described in the datagram, the output interface of the router through which the datagram is to be output and the network layer address of the next-hop node to which the output datagram is to be transferred. The router then delivers the datagram to the determined output interface. The output interface determines the datalink layer address from the network layer address of the next-hop node, and constructs a datalink layer frame and outputs it to a LAN.
The conventional router transfers communication information according to the above-described procedure. In other words, after converting the received datalink layer frame into a network layer packet, the router refers to the content of the packet, such as the final destination address and the source address, and then determines, based on the network layer routing table stored in the router, the output interface and the next-hop node to which the packet is to be transferred. Afterwards, the router re-converts the network layer packet into a datalink layer frame and then outputs it toward the next-hop node.
During the above transfer operation, a heavy load of processing is imposed on the router, such as conversion from the received datalink layer frame into a network layer packet, search through the network layer routing table, and re-conversion from the packet into a datalink frame, thereby increasing the processing time required for transferring the received datalink layer frame and the processing load within the router.
In order to reduce the processing load in the router, the following method has been proposed in which the next-hop node is determined in the datalink layer without referring to network layer information described in the packet. This transfer method is sometimes referred to as the “cut-through transfer”, “label switching”, or “datalink-layer switching”.
In a shared-media network, such as the Ethernet, there are two types of methods for implementing the “cut-through transfer” function.
In one method, a specific field having a few bytes is installed between the datalink header of the MAC frame and network protocol data such as the IP data (See Y. Rekhter et al., “Tag Switching Architecture—Overview”, IETF Internet Draft draft-rekhter-tagswitch-arch-00.txt, January 1997). Then, a virtual identifier (corresponding to a “label”, which will be described later) assigned in correspondence with a network layer packet flow (defined by, for example, the final destination information, or a combination of the destination information and the source information) is filled in the specific field, thereby determining the next-hop node based on the datalink layer frame itself (i.e., switching the frame in the datalink layer). According to this method, since a specific field is installed in a payload of the MAC frame, the length of the network protocol data in the frame which is to be transferred by using this “cut-through” function is shorter than that in a typical frame whose next-hop node is to be determined in the network layer. It is thus necessary to re-adjust and modify the length of the datagram in the network layer in order to implement the aforementioned cut-through transfer function.
In the other method, the above-described virtual identifier is written into the MAC address field (See U.S. patent application Ser. No. 08/941,735). In this method, it is necessary to newly learn the MAC address which is actually the virtual identifier in the router or the host. This learning may also be necessary in a bridge device, an Ethernet switch, etc. in the shared-media network.
To implement the cut-through function in a virtual-connection network, such as an ATM network, a virtual connection within a LAN, which is supposed to transfer frames by the cut-through method, is uniquely identified by the nodes located at both ends of the virtual connection. After this identification of the virtual connection is completed in the both nodes, frames are transmitted and transferred by using the virtual connection corresponding to the network layer packet flow to which the frames belong. If an ATM switch is provided within the LAN (i.e., between an upstream node and a downstream node of one virtual connection), the ATM switch converts the Virtual Path Identifier/Virtual Connection Identifier (VPI/VCI) used in the ATM and, as a result, the upstream node and the downstream node cannot identify the virtual connection as the common value. To identify the virtual connection uniquely even in this kind of situation, there may be two methods available for sharing the virtual connection identifier by the two neighboring nodes.
In one method, an identifier that can be shared by the two neighboring nodes is sent through the virtual connection itself (i.e. the common identifier is sent by an in-band message) (See K. Nagami et al., “Flow Attribute Notification Protocol (FANP) Specification”, IETF Internet Draft draft-rfced-info-nagami-00.txt, February 1997). In this method, since a message including the identifier of the connection is sent onto the connection itself, the following problem is encountered, for example, when a point-multipoint connection is used in a switching function of the router. In this case, when a new leaf is added to an existing cut-through connection, the cut-through transfer operation is required to be temporarily halted in order to send a message including the common identifier onto the cut-through connection.
In the other method, a formal common identifier of a target virtual connection can be finally shared by the two neighboring nodes according to the following two steps of operation (See U.S. patent application Ser. No. 09/038,159). A provisional common identifier whose size is shorter than that of the formal common identifier is initially shared by the two neighboring nodes, by writing the provisional common identifier into a field, which can be freely used by an user, in a signaling message for setting the target virtual connection. Then, a message for correlating the provisional identifier and the formal identifier of a sufficient length is sent onto a connection other than the target virtual connection (i.e., by an out-band message). This method is free from the problem encountered by the in-band message method. However, when the point-multipoint connection is used in a switching function of the router, the provisional identifier may need to be locked for a new leaf, which may be added to the existing connection later. In this case, there may become no more provisional identifier available for a new connection to be set.